from transformers import AutoTokenizer, AutoModel
from transformers import (
   BertTokenizerFast,
   AutoModelForMaskedLM,
   AutoModelForCausalLM,
   AutoModelForTokenClassification,
)

from sentence_transformers import SentenceTransformer

model_name = "bert-base-chinese"
cache_dirx = "d:\\transformers_cache"  # 本地缓存目录

#transformers
#tokenizer = AutoTokenizer.from_pretrained(bert-base-chinese', cache_dir=cache_dirx)
# casual language model (ALBERT, BERT)
#model = AutoModel.from_pretrained('bert-base-chinese', cache_dir=cache_dirx)

# casual language model (GPT2)
#model = AutoModel.from_pretrained('ckiplab/gpt2-base-chinese', cache_dir=cache_dirx)

#sentence_transformers
model = SentenceTransformer('all-MiniLM-L6-v2', cache_folder=cache_dirx)

"""
由于不能够直接网络访问https://huggingface.co/，从而无法直接从网站下载预训练模型，
因此需要开启网络代理后，先下载预训练模型，并指定本地缓存目录，再加载模型。
但是在下载过程中， 下载的文件都暂时存放在models--bert-base-chinese\blobs  ，  并都是乱码为文件名，
而真正的文件名称在： models--bert-base-chinese\snapshots\c30a6ed22ab4564dc1e3b2ecbf6e766b0611a33f下面 ； 
因此，需要将乱码的文件名还原成为正确的文件名。可以通过下载时的进度条最后显示的实际文件大小，判断乱码文件对应的文件名。
还原为正确的文件名之后，在使用的时候，直接指定文件所在目录即可使用模型。
注意：缓纯文件所在目录最好不要有中文和-

"""











"""
由于该模块需要大量关联模块支持，关联模块在不同版本系统中极可能出现无法安装的现象，因此该功能不能实现。
unstructured_inference 库     : 无法安装
pdf2image 库
poppler 工具
pdfminer.six 库
pi_heif 库（可选，用于处理 HEIF 格式图像）

运行结果：失败
2025-05-01 

"""        